Field of the Invention
The present invention generally relates to a method and system for optimizing memory allocation, and more particularly to a method and system for dynamically allocating memory among a plurality of computing systems.
Description of the Related Art
The ability to move memory between different virtual machines is critically important for improving performance. Having this capability can prevent memory overload which could cause a system to crash or become unusable. This capability also allows more virtual machines to be packed onto the same hardware, which can significantly increase the workload which can be handled by the same hardware.
Past approaches to this problem are insufficient to react to memory overload situations quickly enough. Past techniques include memory deduplication (active memory deduplication in AIX® and transparent page sharing in VMware®) and delta encoding, ballooning, IBM®'s Active Memory Sharing®, and memory compression.
Virtual machines (VMs) may be implemented in multiple ways including but not limited to IBM's Dynamic Logical Partitioning (DLPAR), VMware virtualization platforms such as ESX®, Xen®, KVM®, Java® virtual machines, etc.